つくりながら学ぶ!AIアプリ開発入門 - LangChain & Streamlit による ChatGPT API 徹底活用
はじめに 面倒なWEBブラウザの定型作業を自動化したくて。 WEBブラウザの自動操作には定番のSeleniumを利用する。 Seleniumは主にウェブブラウザのテストに利用されているが、テスト用途以外でも利用はできる。 なおウェブスクレイピングが目的であれば、scrapeとかgoqueryなどを利用するほうが簡単。 それでもSeleniumを利用するのは、 実際のブラウザが利用できるという点であり、以下のような利点があると思っている。 IEなど特定のブラウザのみをサポートしているサイトの自動操作 ごりごりのJavascriptやFlashを利用されているサイトの自動操作 証跡として画面のスクリーンショットを取得できる 前提知識 WebDriverを介することで、スクリプトとしてJava,C#,Pythonなど多くの言語から利用できる ブラウザごとにWebDriverが用意されており、1つ
2015年はCSSが普及した以来となる10年に1度のフロントエンド大変革期で、それまでのツケが一気に回ってきたと個人的に感じていました。目まぐるしく状況が変化していきましたが、2016年になり、個人的にだいぶ落ち着いてきたと感じているので、ここらへんでまとめておきたい思います。 最初に結論を書いておくと、 『React + Redux + react-router + material-ui + axios + ES2015 + Babel + webpack + ESLint + Airbnb JavaScript Style Guide』 という組み合わせが、いま僕の採用しているJavaScriptの環境です。 主要ライブラリは React A JavaScript library for building user interfaces | React 去年、一気に普及したReact
背景 Javascript で Web アプリを作ろうとすると、よくわからないことだらけで超混乱します。 npm と bower の違いは? npm はサーバーサイド用、bower はクライアントサイド用らしいよ えっ、でもなんで bower のインストールに npm が必要なの? サーバーサイドは Rails で書きたいから npm 要らないと思うんだけど・・・ ていうかサーバーサイドJSとか node.js って何? よく見る browserify って何? こういった疑問が沸き上がるのは、各ツールが生まれた文脈がよくわかっていないからです。いろいろ調べてやっとちょっとわかってきたのでメモします。間違いがあったらご指摘ください。 「CommonJS」誕生 - Javascript は汎用プログラミング言語へ その昔、Javascript 大好きおじさんは言いました。 Javascrip
最近よくプログラミング未経験の方から、これからエンジニアとしてやっていきたい、もしくはそこまでいかなくても自分でプロダクトを作れるようになりたいけど何からやったらいい?っていう相談を受けるようになってきました。個別に色々話を聞きつつこれやってみたら?っていうリンク送ったりはしてたんですが、その人たちにとっての大まかな地図的な意味でも、(「これ見といて」って自分が楽するためにも、)未経験者の人におすすめする学習教材をまとめてみました。 参考事例 ぼく自身ゼロからエンジニアを育て上げた経験があるわけではないので、先人の事例に学べることは学ぼう、かつこうやって伸びた人がいるんや!っていう本人のモチベーションになったらいいな、ということで紹介します。 リブセンスさん リブセンスさんの、非エンジニアを1ヶ月でエンジニアに育て上げる話、かなり強烈でしたね。フルコミットでかつ桂さんという突出したメンター
調べてみて意外だったのは、機能が分かりやすく、簡単で、しかも柔軟性があることです。 Spring MVCの日本語の情報はかなり少ないので、初めて触れる方が実践まで進める橋渡しができるとうれしいです。 【この記事でのバージョンについて】 以下のバージョンでサンプルを動かしています。 ・Spring :5.0.8※、4.2.4、3.0.7、および3.1.1(Spring MVC5~4で動作すると思います) ・hibernate-validator :5.2.3.Final ・validation-api :1.1.0 ・commons-fileupload :1.3.1 ※ただし、spring5の場合、tilesフレームワークをver.3にして、XMLのTilesConfigurerをxx.tiles2.TilesConfigurerに変更する必要があります。
元ネタはこちらになります。 いくつかは使ったことはあるのですが、使った事がないものもあったので自分で試しながらまとめてみました。 Awesome Print これはオブジェクトを見やすくしてくれるgemです。 まず、このgemを入れていない場合の出力をみてみましょう。 ちょっとわかりにくいですね。 それではgemをいれてみましょう。Gemfileに以下を追加します。 bundle installをして、rails consoleを立ち上げなおします。 だいぶ見やすくなった感じがします。 ただ、Rails4.2からは、PrettyPrintというのが標準ではいるようになっていて、標準でもだいぶみやすくなってますね。 Rails Panel このgemをいれると、ChromeのDeveloper ToolでRailsの情報を取得できるようになります。 まず、Railsアプリケーションにmeta
jQueryで親フレームと子フレーム間で関数の実行や要素の参照・設定を行うメモ。 本来はフレームなんか使わないでdiv要素なんかをゴッソリ変えるほうがスマートなんだけど 業務用しかも内容がたっぷりある場合はファイル自体が膨大になるし重くなる。 メンテも大変だしねw 当然PHPと非同期しまくりで内容によってはガリガリ動かすよりもフレームで切り替えたほうがヌルッと動く。 セキュリティや他の事情によりPHP側で出力を分けたいってときもある。 そんな時のために。(いいわけはこれぐらいでw) 子のnameやidで参照できるが、Firefoxではnameを設定していないと動作しない。 以下では子(インラインフレーム)のIDをchildframeとする。 jQuery1.4.4821145.1.712OKOKOKOKOK parent.html 親 <html> <script src="jquery-
Android開発をしていると、同じint型でもDrawableのidだったりLayoutのidだったり、はたまたアプリ内で使う独自の数値であったりと様々な使い分けを求められるシチュエーションが多々あります。 Android Support libraryにはそんなときに便利なコードを見やすく、書きやすくするアノテーションがandroid.support.annotation パッケージの中に入っています。 その一部の使い方をまとめてみました。 2016/03/22 追記 その2も記載しました Androidのコードを 見やすく! 書きやすく! するアノテーション その2 メソッドの引数にNullを許容しない @NonNull メソッドの引数にNullを許容しないことを明示できます。 これを指定していると呼び出し側が引数にNullを指定した場合に Lintで Probable bugs の
僕は、プログラムをする上で変数や関数に良い名前を付けるのはとても重要と考えています。 というのも、良い名前を付ければ、それだけでそのコードがしたいことの説明になり、コメントと同等の働きをすることもあるからです。 自分がちゃんとそれをできているのかはさておき、僕は普段から、できれば読みやすくて分かりやすい名前を付けたいと思っています。他の人も読むコードであれば、できればプログラムでよく使われるような単語を利用して書いた方がより分かりやすいです。 ただ、よい名前を考えるのって、ちょっと面倒くさいんですよね。僕はこれまで、英語の辞書を利用して、考えたりしていたのですが、「何か、プログラムでよく使われる単語をまとめたものはないか?」と探したら、ドンピシャのものがいくつかあったので、それらをまとめて以下で紹介します。 photo by Michael Coté codic codic – デベロッパ
作々! -さくさく- ゲーム制作、アニメ制作、グラフィックソフト、プログラミング、3DCG等、創作活動の話題全般を取り扱う(予定)。 プログラミングに最適なフォントとしてよくおすすめされるRictyが再配布可能な形で公開されていた プログラマーにとってフォントは生産性に影響する重要なポイントの1つです。lとIが区別のつかないフォント、oと0が区別のつかないフォント。残念なことにデフォルトで使われるフォントはWindows,Linux共にそういったものが多いです。もしまだデフォルトのフォントを使っている人がいたらこの機会に是非Rictyに乗り換えましょう! プログラミングに最適なフォントとしてよくおすすめされるRictyが再配布可能な形で公開されていた | デジタネイティブ 今までのRictyとどう違うか Rictyは日本語フォントにMigu 1Mを使用していたために、フォントが統合された
自由に各自のマクロに組み込んで利用して下さい。なお、フリー/シェアソフト 開発での利用も可(フリー/シェアでの利用の場合、事後で結構ですので一言 お知らせください)です。ただし、引用に当たっては、マクロの先頭に記述してある コメント(CopyRight )を必ず一緒に引用する事 を条件とします。 なお、 他サイト上で本マクロを直接引用(マクロ全体を丸々貼り付ける等) する事は、ご遠慮願います。本ページへのリンクによる紹介で対応して下さい。 [ktHolidayName]という関数名そのものは、各自の環境における命名規則に沿って 変更しても構いません。 VBA(VB含む)で利用する場合はマクロのコード構成を一切変更しないでください。 VBAというレスポンス的に不利な言語でも出来る限りレスポンスを良くする事を前提に 設計してある為、コード内容を変更するとレスポンスが低下
JavaScriptプログラミングのTOPへ input や textarea などのテキストボックスをフォーカスした際に表示される,「|」の形をしたカーソルの事をキャレットという。 また,Shiftキーを押しながらキャレットを移動させると,文字列が選択状態になる。 キャレットや選択文字列の情報は,JavaScriptで取得・設定できる。 下記は,IEで・・・ カーソル(キャレット)の位置を 取得する方法。 設定する方法。つまり,カーソルの移動。 選択状態になった文字列の範囲を 取得する方法。 設定する方法。つまり,指定した範囲を選択する。 のサンプルコード。 また,これらを応用して テキストボックスで,クリックした文字を取得する方法 についても述べる。 (1)IEで,カーソル位置を取得するサンプル (2)IEで,カーソル位置を設定するサンプル (3)IEで,選択範囲の取得をするサンプル
今までは、メインマシンにはLinuxやMacを利用していました。 ただ、最近はVagrantとかが充実してきてLinuxで動くWeb系の開発をするからって、環境をUnix系にする必要もないかな、と思って変化を求めてWindows 8.1 環境をデスクトップにししてみました。 別に紙芝居ゲームや艦これのため変えたわけじゃないですよ? ええ、違うんです。 作業してて結構ハマったり、昔のWindowsの環境構築とは様変わりしてた部分もあるので、その辺をメモります。 はじまりはアカウントから プログラマがWindows 8.1を使うならばまずはじめに考慮することはログインアカウントです。 Windows 8からは認証アカウントをMicrosoftアカウントと連携させることが推奨されます。 利用しているアカウントがローマ字などASCIIだけなら問題はありませんが、私のようについうっかりと日本語名にし
SurfacePro3買いました。なかなか面白いデバイスですね。 こころがぴょんぴょんするんじゃ~~ SurfacePro3を機に久しぶりにWindowsを触るという方もいらっしゃるかと思うので、Windowsでの開発環境構築まとめを書いてみます。タイミング的にタイトルにSurfacePro3を入れましたが、SurfacePro3特有の話はありません。 アカウント作成 いきなりですが、アカウント作成のときに注意点があります。ユーザー名に日本語を使ってはいけません。GNUツールの中には日本語パスやスペースを含むパスを考慮していないものが割とあります。あるいはemacsのように、プログラム自体は対応していても、プラグインの中に対応していないものがあるというケースもあります。それはそういうプログラムの問題ではあるのですが、使いたいプログラムが動かないと仕方がないですので、あらかじめユーザー名を英
みなさんお仕事の進捗どうですか? 今日は ふと今こそ保守性・管理性が劇的に上がるPHPのスマートなコードの書き方まとめを俺が書くときじゃないだろうか。 — そーだい@初代ALF (@soudai1025) 2014, 8月 12 こんな軽はずみな発言をしてしまったが故にネットで触れては行けない3大炎上案件について触れる。 ※ネットで触れては行けない3大炎上案件とは? Excel関連(スクショとか) 宗教(エディタとか) PHP のこと。 で今話題の元ネタを既に@sue445さんが魚拓してくれてる。 「Hello! my name is 404 お探しのページはありませんでした!申し訳ありません。。」 http://t.co/MS8Xy0bCMz 魚拓とっててよかったw http://t.co/UvG3gzsPul — sue445 (@sue445) 2014, 8月 12 (炎上したら即
これからプログラミングを始めてみたい人に向けて、Webブラウザだけですぐに使えるRuby/Railsのクラウド開発環境 (Nitrous.io) を紹介します。 Rails環境構築の壁 プログラミングを始めるためには、開発環境を構築する必要があります。RubyとRailsの開発環境の構築方法はRails Girls インストール・レシピが参考になりますが、いくつかのソフトウェアをインストールする必要がありました。 Ruby本体 Rails データベース (SQLite) エディタ (Sublime Text, TeraPad) ターミナル (iTerm, PuTTY) バージョン管理 (git) RailsInstallerは、これらのソフトウェアをワンクリックでインストールしてくれますが、最近は更新されておらずRuby1.9.3 + Rails 3.2とバージョンが古くなっています。なお
はじめに 情報氾濫の時代、インターネット上には数えきれないほどの情報で溢れています。効率よく情報収集を行うことができたら・・・そんなあなたにオススメしたいのはWebスクレイピング。 プログラミングを使って自動でWeb情報をクローリングし、加工した上で必要な情報を効率よく収集します。 プログラミングと聞いて顔が曇った方も多いかも知れませんが、現在はプログラミングの敷居もかなり下がっています。 Rubyは日本語製のスクリプト言語。和製ゆえにドキュメントも豊富です。今回はWindowsな方向けにRubyの導入から実際にサンプルプログラムを動かしてみる所まで詳説したいと思います。 Rubyのインストール Ruby InstallerのHPから「Ruby 2.0.0-p***」をダウンロードします。 RubyInstaller - Homepage インストーラーを実行してください。 日本語を選択。
こういう DebugPrint 1関数ずつ入れなくてOK。 素敵ポイント: 大元のソースには手を入れない。 gcc 使用。 ソース #include<stdio.h> /* Proto Type */ void hello_world( void ); void hello_world(void) { printf( "hello!\n" ); } int main(void) { hello_world(); return 0; } #define _GNU_SOURCE #include <dlfcn.h> #include <iostream> extern "C" { void __cyg_profile_func_enter(void* func_address, void* call_site); void __cyg_profile_func_exit(void* func_
2014/08/13 追記 AppleScriptを使った実装が MacAppStore の審査で Reject される件について書きました。 「ログイン時に起動」を実装する (2) Mac アプリを使っていると、よく「ログイン時に起動 (Launch at Login)」という設定項目を目にします。 とても便利な機能なので、皆さん当たり前のように利用しているかと思いますが、実はけっこう実装が面倒です。 僕も自分の Mac アプリで実装したいと思ったのですが、情報が古かったり間違っていたり、日本語の情報が少なかったりで非常に苦労しました。 そこで、これから Mac アプリを作る人のために「ログイン時に起動」の実装方法をまとめておこうと思います。 「ログイン時に起動」3つの実装方法 「ログイン時に起動」を実装する方法は3つあります。(他にもあるかも, CFPreferencesとか) Lau
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く