勉強と開発の毎日

この記事は一年以上前の記事です。

こんばんは 漣 風華です。

今月から仕事が始まりましたが、やってることはこれまでと変わらず。ですね^^
毎日、勉強しては開発
開発は

  1. テスト環境
  2. オリジナルアプリ(プライベートで使用)
  3. オリジナルアプリ(道化師達の宴のプロジェクトサイト【道化師達の宴 総合案内】)で使用
  4. 上記で培った技術で仕事で作成するアプリに独自ライブラリ群を作成する

こんな流れで行っています。


現在、将来有望なPythonというプログラミング言語で開発を続けています。
もちろんウェブアプリなのでHTMLもCSSも使いますが、そこはすぐに終わるw

コアとなるプログラムを総てオリジナルで開発していくのが一番楽しいですw
データベースモデルを設計して、ユーザーインターフェイスを想像しながらそれをプログラムで実現する。

例えばこんなコードを書いています。

class DougaCatHandler(webapp.RequestHandler):
    def get(self):
        c_user = users.get_current_user()
        category = self.request.get('value')
        member_ls = []
        member_key_ls = []
        userls = []
        for member in User.all():
            member_ls.append(member.user)
            member_key_ls.append(User.key(member))
            userls.append(member.nickname)
        if c_user in member_ls:

            c_user_in_member = User.all().filter('user =',c_user).get()
            c_user_nickname = c_user_in_member.nickname

            userls.remove(c_user_nickname)
            userls.remove(u'最新話')
            userls.remove(u'最終話')

            cat_titles = Title.all().filter('cat =', category).order('title')
            cat_ls = []
            for title in Title.all(): cat_ls.append(title.cat)
            send_cat = list(set(cat_ls))

            title_ls = []
            title_key_ls = []
            for title in cat_titles:
                title_ls.append(title)
                title_key_ls.append(Title.key(title))

            all_item = []
            for member_key in member_key_ls:
                for title_key in title_key_ls:
                    all_item.append([member_key,title_key,0])
                    for prosess in Prosess.all().filter('user =',member_key).filter('title =',title_key):
                        all_item.remove([member_key,title_key,0])
                        all_item.append([member_key,title_key,prosess.prosess])

            all_num = []
            for single_item in all_item:
                all_num.append(single_item[2])

            member_count = len(member_ls)
            title_count = len(title_ls)
            count = 1
            items = {}
            while count <= member_count:
                a_key = all_item[title_count*(count-1)][0]
                a_user = User.get(a_key)
                a_nickname = a_user.nickname
                item = {a_nickname:all_num[title_count*(count-1):title_count*count]}
                items.update(item)
                count = count + 1

            template_values = {'send_cat':send_cat}
            path = os.path.join(os.path.dirname(__file__), '../template/sidenav.html')
            sidenav = template.render(path, template_values)
            template_values = {'send_cat':send_cat}
            path = os.path.join(os.path.dirname(__file__), '../template/nav.html')
            nav = template.render(path, template_values)

            template_values = {'user':c_user,
                               'send_cat':send_cat,
                               'userls':userls,
                               'title_ls':title_ls,
                               'member_ls':member_ls,
                               'items':items,
                               'sidenav':sidenav,
                               'nav':nav}
            path = os.path.join(os.path.dirname(__file__), os.path.join('../template/douga/douga.html'))
            self.response.headers['Content-Type'] = 'text/html'
            self.response.out.write(template.render(path, template_values))
        else:
            self.redirect('/');

Gitでバージョンの世代管理する方法を調べて、ライブラリをパッケージにして配布してみようかしらw

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください